package com.ruoyi.wms.mapper;

import java.util.List;
import com.ruoyi.wms.domain.WmsAreaManager;
import org.apache.ibatis.annotations.Param;

/**
 * 库区管理员信息Mapper接口
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public interface WmsAreaManagerMapper 
{
    /**
     * 查询库区管理员信息
     * 
     * @param id 库区管理员信息主键
     * @return 库区管理员信息
     */
    public WmsAreaManager selectWmsAreaManagerById(Long id);

    /**
     * 查询库区管理员信息列表
     * 
     * @param wmsAreaManager 库区管理员信息
     * @return 库区管理员信息集合
     */
    public List<WmsAreaManager> selectWmsAreaManagerList(WmsAreaManager wmsAreaManager);

    /**
     * 新增库区管理员信息
     * 
     * @param wmsAreaManager 库区管理员信息
     * @return 结果
     */
    public int insertWmsAreaManager(WmsAreaManager wmsAreaManager);

    /**
     * 修改库区管理员信息
     * 
     * @param wmsAreaManager 库区管理员信息
     * @return 结果
     */
    public int updateWmsAreaManager(WmsAreaManager wmsAreaManager);

    /**
     * 删除库区管理员信息
     * 
     * @param id 库区管理员信息主键
     * @return 结果
     */
    public int deleteWmsAreaManagerById(Long id);

    /**
     * 批量删除库区管理员信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsAreaManagerByIds(Long[] ids);

    /**
     * 根据用户ID查询库区管理员信息
     * 
     * @param userId 用户ID
     * @param tenantId 租户ID
     * @return 库区管理员信息集合
     */
    public List<WmsAreaManager> selectWmsAreaManagerByUserId(@Param("userId") Long userId, @Param("tenantId") Long tenantId);

    /**
     * 根据库区ID查询管理员信息
     * 
     * @param areaId 库区ID
     * @param tenantId 租户ID
     * @return 库区管理员信息集合
     */
    public List<WmsAreaManager> selectWmsAreaManagerByAreaId(@Param("areaId") Long areaId, @Param("tenantId") Long tenantId);

    /**
     * 根据用户ID和库区ID查询库区管理员信息
     * 
     * @param userId 用户ID
     * @param areaId 库区ID
     * @param tenantId 租户ID
     * @return 库区管理员信息
     */
    public WmsAreaManager selectWmsAreaManagerByUserAndArea(@Param("userId") Long userId, @Param("areaId") Long areaId, @Param("tenantId") Long tenantId);
}